Repository navigation
feat: add @pulp-ui/sdk package with orval codegen and pulpFetch mutator - #367
Merged
Merged
Conversation
This was referenced Sep 24, 2026
Redtigercod4
marked this pull request as ready for review
October 1, 2026 11:06
Redtigercod4
force-pushed
the
feat/sdk-codegen
branch
from
October 16, 2026 14:56
1dec2ac to
117a3f7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
@pulp-ui/sdk, a new npm workspace package that generates a typed Pulp API Client viaorvalinstead of hand-written API modules, for both core and plugin implementations. This was first prototyped onfeat/next/sdk-codegenand ported across as a standalone piece of work, laying the foundation for wider typed interfaces - this PR only scoped tocore/statusas a demonstrator.So what benefits does having this SDK give to Pulp-UI:
v4enters the UI.Note on diff size: introducing workspaces reconfigures the whole
package-lock.jsonto the new tree dependency approach needed for peer/transitive dependencies onpackages/sdk; only around ~550 changed lines are the actually generated or typed code.Changes
packages/sdkas a new npm workspace with its owntsconfig.jsonpinned to Typescript 7, independent of the projects Typescript 5.9 requirement. Create atsconfig.base.jsonto allow future linkage between eachtsconfig.json.orval.config.tsto configureorvalto generate an API Client forstatus. Links into ensuring versions are matched before and after with generated files matching current project conventions with naming etc.pulpFetch, a custom mutator used on each request call along with the relevant tests usingvitest&msw.src/core/status).pulp-versionsmatch the instance type prior to regenerating clients and keepspulp-versions.jsonup to date.src/core/statusfor usage within the root application and registered@pulp-ui/sdkas a root dependency on the applicaton.Out of Scope
pulpFetch@pulp-ui/sdksrc/apiconsumers onto the new patternBlockers
N/A
Linked Issues
N/A
AI Assistance
Claude (Sonnet 5) was consulted during development for discussions, suggestions and research. All code was written and reviewed by author.
Sources